【技术笔记】高云FPGA学习笔记5

您所在的位置:网站首页 programmer文件 hitool 【技术笔记】高云FPGA学习笔记5

【技术笔记】高云FPGA学习笔记5

2023-04-11 15:08| 来源: 网络整理| 查看: 265

原创 【技术笔记】高云FPGA学习笔记5——片上逻辑分析仪GAO的使用  2022-10-6 20:42  2530 11 12 分类: FPGA/CPLD 文集: 开发板评测

本文是高云FPGA学习笔记系列的第5篇文章,首发于面包板社区:

【技术笔记】高云FPGA学习笔记1——TangNano 4K开发板简介

【技术笔记】高云FPGA学习笔记2——FPGA和ARM开发环境搭建

【技术笔记】高云FPGA学习笔记3——FPGA点灯工程创建、下载和固化

【技术笔记】高云FPGA学习笔记4——基本IP原语使用和仿真

1. FPGA逻辑分析仪是什么?

FPGA与STM32等嵌入式开发最大的一个优点就是,可以在时序仿真阶段验证超过90%的功能,发现90%的问题。当所有的仿真没问题了,才能进行最后一步:板级调试。如果仿真都不对,那就没必要下载到芯片里了。

STM32等单片机,使用J-Link或ST-Link等调试器,可以进行在线调试,由于C代码是顺序执行的,我们可以插入断点,让程序停在我们需要的位置,或者是实时查看一些变量的数值,大大提高了我们Debug的速度,提高产品的开发效率。

对于FPGA来说,仿真毕竟是仿真,可以理解为理想条件,而最终我们的代码是需要运行在实际的FPGA芯片硬件上的。

所以也会遇到仿真正常,实际下载到板子里不正常的情况。

这种现象通常有两种原因:1.程序有BUG,2.硬件有问题。

比如实际程序中复位信号是低电平复位,而实际电路中设计的复位按键按下才是高电平,这样按键未按下就会导致程序一直处于复位状态。当然,这只是一种最简单的问题点,实际开发过程中,仿真与实际运行不匹配的情况还有很多。那么如何才能以最快的速度找到问题点呢?

早期的FPGA调试方法通常使用外部的逻辑分析仪硬件设备,连接到FPGA芯片的外部管脚上,如果想查看内部信号,还需要把这些信号定义成Output引出到外部管脚进行了测量,如果是多位数据,这样就会占用大量的管脚,但是此类工具有个优点就是支持多种协议解析,可以非常方便的查看协议的报文数据。

如果有一种工具能像单片机开发那样,通过调试器JTAG接口实时获取运行过程中寄存器的数值就好了。有需求就有市场,FPGA厂商也考虑到了开发者的这种需求,都在自家产品上加上了这个功能,那就是片上逻辑分析仪,就像在芯片内装了一个逻辑分析仪ELA(Embedded Logic Analyzer),可以实时监测数据的变化,还可以设置触发条件等!

FPGA领域几大厂家提供嵌入式逻辑分析仪:

Intel(原Altera)的SignalTap工具 AMD(原Xilinx)的ChipScope工具 Microchip(原Microsemi)的Identify工具 Lattice的Reveal工具

这些工具都是嵌入式逻辑分析仪,大大提高了Debug速度。这类工具的原理通常是以预先设定的时钟速率实时采样FPGA的内部信号,并暂存于FPGA的内部RAM中,当满足预设的触发条件后,通过JTAG将存储在片内RAM中的数据传输至PC上,PC接收到数据后,通过上位机把数据展现出来。

关于FPGA的逻辑分析仪介绍,可以查看之前写的笔记:

FPGA如何进行片上调试?https://mp.weixin.qq.com/s/H1wHXZrXfOvi1UlZWgClyA 2. 高云FPGA片上逻辑分析仪特点

可以说,片上逻辑分析仪是FPGA的标配,这部分功能通常需要FPGA硬件和EDA工具软件两方面支持。

高云FPGA也集成了片上逻辑分析仪(Gowin Analyzer Oscilloscope,以下简称 GAO),GAO的原理是通过采样时钟,将用户设定的信号采样缓存到片内未使用的RAM空间中,当满足用户设定的触发条件时,将RAM中的数据通过JTAG发送到上位机中,并显示出来。

本文介绍,基于TangNano 4K开发板,即高云小蜜蜂GW1NSR-4C FPGA芯片,演示如何创建GAO配置文件,如何使用逻辑分析仪抓取信号并获取波形文件。

GAO支持RTL级信号捕获和综合后网表插入两种方式,并且提供Standard GAO 和 Lite GAO 两种版本。

Standard GAO 最多可以支持 16 个功能内核,每个内核可配置一个或多个触发端口,支持多级静态或动态触发表达式。 Lite GAO 配置简便,无需设置触发条件,可以捕获信号的初始值,方便用户分析上电瞬间的工作状态。

GAO具有如下特性:

最多支持 16 个功能内核 每个功能内核支持一个或多个触发等级 每个触发端口支持一个或多个匹配单元 每个匹配单元均支持 6 种触发匹配类型 支持设置静态或者动态触发表达式 支持捕获 RTL 综合优化前或者综合优化后信号 功能内核采用窗口采集模式,支持一个或多个窗口采集 支持导出 csv、vcd 和 prn 三种格式的波形数据文件 使用数据端口,节省器件资源

关于高云FPGA GAO逻辑分析仪的使用,可以参考官方文档,在云源软件的安装目录下:

D:\Program\Gowin\Gowin_V1.9.8.07_Education\IDE\doc\CN\SUG114-2.5_Gowin在线逻辑分析仪用户指南.pdf 3. 打开现有工程

打开一个现有工程,顶层文件如下:

/*************************************************************** * Copyright(C), 2010-2022, WeChat:MCU149. * ModuleName : top_hdl.v  * Date       : 2022年10月02日 * Time       : 20:19:39 * Author     : WeChat:MCU149 * Function   : gw1nsr-4c fifo demo * Version    : v1.0 *      Version | Modify *      ---------------------------------- *       v1.0    ..... ***************************************************************/

module top_hdl(    //Inputs    input gclk,      // 27MHz    input gresetn,        input key,

    //Outputs    output reg led);

//localparamlocalparam KEY_PRESS   = 1'b0; localparam KEY_RELEASE = !KEY_PRESS;localparam LED_ON      = 1'b1;localparam LED_OFF     = !LED_ON;

wire flag_press;wire flag_release;

drv_key #(    .FILTER_TIME(27_000_0*5),  //50ms    .KEY_PRESS(KEY_PRESS))drv_key_ut0(    //Inputs    .clk  (gclk),    .rst_n(gresetn),    .key  (key),

    //Outputs    .flag_press  (flag_press),    .flag_release(flag_release));

always @ (posedge gclk) begin    if(!gresetn) begin        led = LED_ON;    end    else if(flag_press) begin        led = !led;    endend

wire clk_osc;       //250/2=125MHz, gao use clockGowin_OSC Gowin_OSC_ut0(    .oscout(clk_osc),     .oscen(1'b1) );

endmodule

模块功能为当按键有效按下时,控制LED状态翻转。

4. 新建GAO文件

新建GAO Config文件,用于配置逻辑分析仪的参数。

选择默认配置

5. 添加触发信号

双击打开rao文件,在Trigger Options中选择触发信号,这里选择滤波后的按键按下信号,为1个时钟周期宽的高脉冲,触发方式设置为上升沿触发。

6. 设置采样参数

选择片上时钟250M二分频为125M,作为逻辑分析仪的采样时钟,再添加几个要观测的信号,并设置采样深度和触发位置。

返回Trigger Options,右键添加M0表达式,如果有多组,可以设置逻辑关系

保存gao文件,综合、布局布线。

7. 打开GAO工具

选择工具->GAO,打开逻辑分析仪上位机界面。

如果使用的是TangNano配套的Programmer工具,可以下载程序,但是打开GAO会提示Can not connect to JTAG server连接失败。

需要到高云官网下载独立的下载工具(EDU版本):

http://cdn.gowinsemi.com.cn/programmer1.9.8.07(build20620-1)_EDU.Win32.x86.zip

下载完成后,替换原来的Programmer文件夹,再次打开就正常了。

先下载fs程序文件。

设置触发条件,并启动逻辑分析仪

等待触发。

按下按键并松开,可以看到产生了按键按下的高脉冲信号,同时LED状态翻转。

8. 波形文件的导出

支持导出csv、prn和vcd格式的波形文件,前两种数据可以使用MATLAB进行分析,vcd格式可以使用gtkwave或modelsim来打开。

使用gtkwave直接打开文件波形

如果使用Modelsim打开,需要先将vcd转换为wlf格式,再使用Modelsim打开。

Modelsim打开wlf文件

9. 工程下载 gw1nsr_4c_gao_demo.rarhttps://wcc-blog.oss-accelerate.aliyuncs.com/img/221006/gw1nsr_4c_gao_demo.rar

作者: whik, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3887760.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

给作者打赏,鼓励TA抓紧创作!

赞赏支持 点赞 11 赏 赞赏0  点赞(11)  收藏 分享到:    上一篇: 【技术笔记】高云FPGA学习笔记4——基本IP原语使用和仿真 下一篇: 【技术笔记】高云FPGA学习笔记6——ARM点灯工程设计 【报名】2023 国际AIoT生态发展大会(深圳) 【资料】5G时代的物联网新技术 【ESMC 4月刊】宽禁带半导体的“左右互搏” 【EETC 4月刊】显示驱动IC“乍暖还寒” 文章评论(3条评论) 登录后参与讨论 乖乖兔爸爸 2022-10-10 09:57 这些工具,带 License 的,当心人家原厂找上门来!! 回复 HUANGPING 2022-10-10 08:41 好文章,感谢分享! 回复 yzw92 2022-10-9 06:46 感谢分享 回复 查看更多评论 相关推荐阅读 whik 2022-10-08 23:26 【技术笔记】高云FPGA学习笔记6——ARM点灯工程设计 【技术笔记】高云FPGA学习笔记6——ARM点灯工程设计本文是高云FPGA学习笔记系列的第6篇文章,首发于面包板社区:【技术笔记】高云FPGA学习笔记1——TangNano 4K开发板简介【技术笔记】... whik 2022-10-02 22:44 【技术笔记】高云FPGA学习笔记4——基本IP原语使用和仿真 本文是高云FPGA学习笔记系列的第4篇文章,首发于面包板社区:【技术笔记】高云FPGA学习笔记1——TangNano 4K开发板简介【技术笔记】高云FPGA学习笔记2——FPGA和ARM开发环境搭建【... whik 2022-09-28 22:42 【技术笔记】高云FPGA学习笔记3——FPGA点灯工程创建、下载和固化 本文是高云FPGA学习笔记系列的第3篇文章,首发于面包板社区: 【技术笔记】高云FPGA学习笔记1——TangNano 4K开发板简介 【技术笔记】高云FPGA学习笔记2——FPGA和ARM开... whik 2022-09-26 23:05 【技术笔记】高云FPGA学习笔记2——FPGA和ARM开发环境搭建 上一篇文章分享了基于高云FPGA的开发板——TangNano 4K,介绍了开发板的硬件资源以及高云FPGA的特性,文末提到高云的FPGA还不支持SerDes高速串行接口,今天(09-26)高云半导体官... whik 2022-09-25 23:01 【技术笔记】高云FPGA学习笔记1——TangNano 4K开发板简介 标题1:不足百元的国产FPGA开发板,集成ARM Cortex-M3硬核!标题2:国产FPGA开发板上手体验:6x6mm的FPGA芯片还带ARM硬核!之前参与了面包板社区组织的国产替代话题活动,我发表... whik 文章:9 阅读:120549 评论:37 赞:2984 公众号:电子电路开发学习,博客:www.wangchaochao.top  好友  私信 个人主页 公众号:电子电路开发学习,博客:www.wangchaochao.top 文章 9 原创 9 阅读 120549 评论 37 赞 2984 个人文集 JLink使用技巧 (2) 开发板评测 (6) 最新评论 更多 写的好,学习了,电源设计上有问题, 开发工匠 ... 评论博文 2023-4-11 某LED灯具传导不合格,不添加一颗器件不动P ... EMC整改是黑科技。欢迎检测整改一条龙服务。专业的事情有专业的人来做。 不过我不认可这个分析。而且整改的结果也是合格余度极 ... southcreek 评论博文 2023-4-11 某LED灯具传导不合格,不添加一颗器件不动P ... 自做自受 : 不否认你们有这个能力,而是我认为企业本就应该具备这个能力,否则这样的企业产品质量不可信。 试想,如果你们的 ... 追忆流年寻 ... 评论博文 2023-4-11 某LED灯具传导不合格,不添加一颗器件不动P ... 最新博文 亚马逊美国站纽扣电池和硬币电池的新 ... 虹科分享|数据安全 | 某汽车企业和龙 ... NXP i.MX8MP实现M核SPI的主从模式 ... 资料下载 本周热帖 计算机算法设计与分析(第2版)-王晓 ... 机器学习-[美]Tom M. Mitchell-机械工 ... 晶体管原理与设计(第2版)-陈星弼-张 ... 高效程序的奥秘-(计算机科学丛书)-[美 ... 编写可读代码的艺术-[美]Dustin Boswe ... IGBT,大电流和短路那个更可怕? ... 快恢复二极管并联应用的均流问题有哪 ... 芯片的3D 封装与 3D 集成有什么不一样 ... 【创龙科技imx8开发板】使用xming远程 ... 零欧姆电阻额定功率的计算 ... 最新资讯 芯语最新 汽车工程师怎样快速识别和调试问题, ... 信创,路在前方——数字经济背景下, ... 我国3月乘用车市场零售达到158.7万辆 ... 贯彻落实国家标准化发展战略,中国集 ... 工信部牵头规划汽车芯片标准化工作, ... 车圈和半导体圈校友召集令!@清北、复 ... 2023Q1芯片行情报告:库存见底了吗? ... 20230411买芯片找老王 20230411Emma有单,您有货吗? ... 只要加班给钱,我能让公司破产。 ... EE直播间 更多 氮化镓(GaN)PD快充最新市场趋势和应用方案 直播时间: 04月28日 10:00 Fabless技术和应用系列 – 汽车MCU芯片的设计、测试及应用市场分析 直播时间: 06月30日 10:00 在线研讨会 更多 IMG DXT GPU为移动玩家带来高级光追技术 助力车规IC零缺陷的实现 —— 芯片测试、数据和流程的最佳实践 信号链的电源管理选择:保持设计所需的所有精度 实现一致的RTL功率分析精确性 热门推荐 直播回放:第二届 “碳中和”暨绿色能源电子产业可持续发展高峰论坛公开课:LoRa物联网通信技术61讲共44课:STM32U5线上课程系列免费课:51讲彻底读懂物联网UHF RFID 我要评论  3  11   分享到微信  分享到微博  分享到QQ  点击右上角,分享到朋友圈 我知道啦 请使用浏览器分享功能 我知道啦 余额支付 微信扫码支付 1 2 3 4 5 6 7 8 9 0

给作者打赏,鼓励TA抓紧创作!

请选择支付金额

1元 2元 5元 10元 50元 自定义

请选择支付方式

微信支付 余额支付 确认支付 ¥ 1 0人赞赏(共赞赏¥) 关闭 热点推荐上一条 /2 下一条 好文赏现金!2023面包板社区原创奖励活动开启 好文赏现金!2023面包板社区原创奖励活动开启 传递知识,分享有礼,好文有赏!现金红包,京东E卡,等你来领! 【技术笔记有奖分享第三期】工程师PCB攻略大集结 ! 【技术笔记有奖分享第三期】工程师PCB攻略大集结 ! 您可以分享:与PCB相关的任何学习笔记、经验心得整理,设计中遇到PCB问题,拆解或DIY过程中获得的PCB设计技巧,日常收集的PCB相关技术文档,也可以的分享到这里!


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3